#include <fstream>
#include <iostream>

using std::cout;
using std::endl;
using std::string;
using std::ofstream;

void test0()
{
    //1. 当以out模式打开一个文件时，不要求该文件存在；
    //如果不存在，直接创建一个新文件；
    //如果文件存在，则会直接清空文件流的内容
    ofstream ofs("1.txt");
    if(!ofs.good()) {
        cout << "ofstream open file error" <<endl;
        return ;
    }

    cout << "111" << endl;
    //ofs << "hello,world";
}

void test1()
{
    string filename = "1.txt";
    //使用app模式，在文件的末尾添加数据
    ofstream ofs(filename, std::ios::app);
    if(!ofs.good()) {
        cout << "ofstream open file error" <<endl;
        return ;
    }

    //在初始时，发现文件游标的位置被定位到末尾
    int pos = ofs.tellp();
    cout << "pos:" << pos << endl;
    ofs.seekp(0);//将文件游标的位置定位到文件开始的位置

    //即使将文件游标的位置更改了，不再是文件的末尾位置，
    //当写入数据之后，还是在文件最后的位置
    //ofs << "this is a new line\n";
    ofs << "hellow,world\n";

    //关闭流
    ofs.close();
}

int main()
{
    /* test0(); */
    test1();

    return 0;
}

